(deftemplate Pacient
	(multislot nume)
	(slot varsta)
    (slot sex)
	(slot temperatura (allowed-values TRUE FALSE))
	(slot tusa)
	(slot culoarePiele)
	(slot localizareDurere)
	(slot nrUrinari)
)
;gripa
(assert(Pacient(nume Marcela Craciunescu)
        	(varsta 21)
        	(sex F)
	        (temperatura TRUE)
	        (tusa expectoranta)
	        (culoarePiele normala)
	        (localizareDurere gat)
	        (nrUrinari 5)
        )
 )
;reumatism
(assert(Pacient(nume Stoienescu Nelu)
        	(varsta 50)
        	(sex M)
	        (temperatura FALSE)
	        (tusa nu)
	        (culoarePiele normala)
	        (localizareDurere genunchi)
	        (nrUrinari 4)
        )
 )
;sinusita
(assert(Pacient(nume Dragomir Sorin)
        	(varsta 19)
        	(sex M)
	        (temperatura TRUE)
	        (tusa umeda)
	        (culoarePiele normala)
	        (localizareDurere nas)
	        (nrUrinari 4)
        )
 )
;diabet
(assert(Pacient(nume Balanescu Andrei )
        	(varsta 25)
        	(sex M)
	        (temperatura FALSE)
	        (tusa nu)
	        (culoarePiele normala)
	        (localizareDurere nu)
	        (nrUrinari 15)
        )
  )


(defrule gripa
    (declare (salience 1))
  (Pacient (nume $? ?p ?n)(temperatura ?x & TRUE )(tusa expectoranta))
	
	=> (printout t "Persoana " ?p " " ?n " este diagnosticata cu gripa" crlf)  
 )

(defrule reumatism
    (declare (salience 2))
  (Pacient (nume $? ?p ?n)(localizareDurere genunchi))
	
	=> (printout t "Persoana " ?p " " ?n " este diagnosticata cu reumatism" crlf)  
 )

(defrule sinusita
    (declare (salience 2))
  (Pacient (nume $? ?p ?n)(temperatura ?x & TRUE )(tusa umeda)(localizareDurere nas))
	
	=> (printout t "Persoana " ?p " " ?n " este diagnosticata cu sinusita" crlf)  
 )


(defrule diabet
    (declare (salience 3))
  (Pacient (nume $? ?p ?n)(temperatura ?x & FALSE )(nrUrinari ?u & : (> ?u 5)))
	
	=> (printout t "Persoana " ?p " " ?n " este diagnosticata cu diabet" crlf)  
 )

(agenda)
(facts)
(run)